In data communication system where all the intervening units share a single multiple access channel, an arbitration method is normally devised in order to prevent collisions between units intending to use the channel at the same time. There are several methods described in the literature such as Carrier Sense Multiple Access (CSMA), Slotted CSMA, CSMA with collision detect (CSMA-CD), Digital Sense Multiple Access (DSMA), etc.
In these procedures, if a unit wishes to transmit, there is some checking that has to be performed first. In a pure CSMA case, for example, any, unit, prior to transmission monitors whether the channel is free by sensing the carrier. If a transmission is currently occupying the channel, the unit will refrain from transmitting. Once the channel is sensed free, the unit transmits its data packet.
The OSI model of communications postulates that the responsibility of the link layer is reliably to deliver data packets from unit A to unit B on the same physical medium. This is normally achieved by appending an error detection code such as a cyclic redundancy check (CRC) computed on the data packet at the end of the pure data information. The receiving unit recomputes the CRC based on the received pure data. If this matches the original CRC in the data packet, the receiving unit declares the receiving packet as correct and passes it to the layer above, normally the network layer. At the same time, the receiving unit is responsible for sending to the originating unit a positive acknowledge packet (ACK) specifying that the packet has been correctly received. If the computed CRC however does not match the original one, the receiving unit may send a negative acknowledge (NAK) to the originating unit. The originating unit will resend the data packet again using the same mechanism until a positive ACK is received. Sometimes, it is preferred not to send NAKs, in which case the originating unity retries the data packet after a certain time-out has expired.
In the case where no NAKs are used, it is important that the receiving unit sends its ACK as soon as possible so that the above mentioned timer does not prematurely expire and an unneeded retry is performed.
For this reason, CSMA schemes are modified to take this fact into account. A unit wishing to transmit that senses that the channel is busy will wait until the channel is free. Once the channel is sensed free, it will not transmit immediately but wait for a certain period of time, normally a random period uniformly distributed between some lower limit T1 and some upper limit T2, and recheck once again if the channel is free. If at that time the channel is free, it will transmit. This is known as a Channel Access Procedure. This random wait time is needed to minimise the probability of collisions. If more than one unit wishes to transmit while the channel is sensed busy and no random wait provision is made, they will probably collide.
The unit that received the data packet and needs to send an ACK will send it immediately after sensing that the channel is free. Since the unit that had data to send refrained from transmitting once the channel was free, this will ensure that the ACK transmission will not be disturbed by other units.
It is a problem that each access to the channel takes a finite time which depends on such factors as channel resolution time (including carrier sense resolution time), propagation delays and wait times. These factors mean that there is inefficient overall use of the channel when there are large numbers of short messages and short acknowledgements.
There is a need for an improved method of operation of a communications system, with an improved multilink layer protocol.